A network may be characterized by several factors like who can use the network, the type of traffic the network carries, the medium carrying the traffic, the typical nature of the network's connections, and the transmission technology the network uses. For example, one network may be public and carry circuit switched voice traffic while another may be private and carry packet switched data traffic. Whatever the make-up, most networks facilitate the communication of information between at least two nodes, and as such act as communication networks.
In recent years, several applications have been developed that rely on timely and effective interactions between two or more elements of a communication network. For example, an online banking server, or host, may interact with hundreds or thousands of client computers via the communication network. With such an architecture, the networked host computer is frequently tasked with providing content to clients, receiving client requests, processing those requests, and responding to those requests, and synchronizing those requests with the requests of other clients.
It is sometimes useful for the host machine to use other resources, such as other servers, in the communication network to process and respond to client requests. This allows the requests to be processed more quickly and with enhanced security. However, the use of the other servers can introduce an undesirable amount of additional overhead in the communications between the host and the client. For example, the host machine can indicate to the client that particular requests should be routed to another server. This may require modification of communicating software at the client machine, such as through a software patch, resulting in an undesirable delay in communications. Further, in some cases it is undesirable to inform the client machine that tasks have been transferred from the host to other resources. Accordingly, there is a need for an improved network device that allows a host machine to transfer tasks.